Video compression is used in many current and emerging products such as digital television set-top boxes (STBs), digital satellite systems (DSSs), high definition television (HDTV) decoders, digital versatile disk (DVD) players, video conferencing, Internet video and multimedia content, and other digital video applications. Without video compression, digital video content can be extremely large, making it difficult or even impossible it to be efficiently stored, transmitted, or viewed. Broadcast television (TV) and home entertainment systems have improved vastly in recent years due largely in part by the advent of digital TV and DVD video. The standardization of video compression (video coding) technology, such as the MPEG (Motion Picture Experts Group) series of compression standards made the above listed and other applications possible. The new MPEG4 standard in the MPEG series is enabling Internet-based video applications, while the International Telecommunications Union (ITU) Telecommunication Standardization Sector (ITU-T) H.263 video compression standard is now widely used in videoconferencing systems.
The most recent international standard for video image encoding/decoding and compression to be widely pursued by industry is the International ITU-T International Organization for Standardization (ISO) video compression standard known as ITU-T/ISO H.264 or as advanced video codec (AVC) and MPEG-4 Part 10 (“H.264 standard” hereinafter). The H.264 standard was prepared by the Joint Video Team (JVT), which included the ITU-T SG16 Q.6, known as VCEG (Video Coding Expert Group), and the ISO/IEC JTC1/SC29/WG11, known as MPEG. The H.264 standard is designed for the applications in the area of Digital TV broadcast (DTV), Direct Broadcast Satellite (DBS) video, Digital Subscriber Line (DSL) video, Interactive Storage Media (ISM), Multimedia Messaging (MMM), Digital Terrestrial TV Broadcast (DTTB), and Remote Video Surveillance (RVS), among other video compression applications.
Video image encoding and other processing systems and methods to compress, compute, estimate, compensate, and/or reconstruct motion vectors in a video sequence require adequate resources to process the raw video digital signals. A video codec, such as the H.264/AVC Video codec, or other video processor, video decoder, or media processor may be used to implement such video processing functions. Multi-picture motion estimation, compensation, chroma vector adjustment, field based coding, macroblock adaptive frame field coding, motion prediction using a video codec requires extensive computations and adequate computing resources for processing the raw video digital signals.
Motion compensation may be defined as the process of compensating a current macroblock in a frame to be predicted based on a block in a previously decoded frame. Motion compensation among multiple reference pictures may be pursued by a block-based match for the luma pixels of the picture. As is well known in the art, a pixel is one of many picture elements that make up the representation of a picture in a computer memory. To utilize the spatial correlation between the luma and chroma pixels to achieve higher coding efficiency without executing the motion estimation on the chroma pixel, the H.264 standard recommends the same luma motion vector to be used for the chroma motion vector prediction. In the case of field coding video, the H.264 standard recommends the vertical component of chroma motion vector needed to be adjusted based on the field parities of current macroblock and the reference macroblock. The process of adjusting the chroma motion vector may require the field parity information of the reference motion vector, which is stored in an external memory device. Further, the process of adjusting the chroma motion vector requires many logic comparisons to be executed for every motion vector inside the macroblock. Because this process is executed at the macroblock level and there are many macroblocks for high definition video (8160 macroblocks per picture, for example), the implementation may be computationally complex and very costly. Reducing the computational complexity while maintaining accuracy in estimating the motion vector may be difficult to accomplish.